package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.*;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * InvIngresoItem generated by hbm2java
 */
@Entity
@Table(name = "inv_ingreso_item", schema = "public")
public class InvIngresoItem implements java.io.Serializable {

	private long detalleIngreso;
	private InvIngreso invIngreso;
	private InvItemStock invItemStock;
	private Long undCodigo;
	private BigDecimal iniCantidad;
	private BigDecimal iniCostoU;
	private String iniNombre;
	private BigDecimal iniCostoT;
	private BigDecimal iniIva;
	private BigDecimal iniDescuento;
	private BigDecimal iniCostoTotal;
	private Integer subdepCodigo;
	private Integer depCodigo;
	private transient Departamento departamento;
	private transient String auxInvItem;
	private transient String gruCodigo;
	private  transient InvGrupo grupo;
	private transient  Boolean seleccionarManual=false;
	
	@Transient
	public String getGruCodigo() {
		return gruCodigo;
	}

	public void setGruCodigo(String gruCodigo) {
		this.gruCodigo = gruCodigo;
	}

	@Transient
	public String getAuxInvItem() {
		return auxInvItem;
	}


	public void setAuxInvItem(String auxInvItem) {
		this.auxInvItem = auxInvItem;
	}


	@Transient
	public Departamento getDepartamento() {
		return departamento;
	}


	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	@Transient
	public Boolean getSeleccionarManual() {
		return seleccionarManual;
	}
	
	@Transient
	public InvGrupo getGrupo(){
	return grupo;
	}
	
	public void setGrupo(InvGrupo grupo){
		this.grupo=grupo;
	}

	public void setSeleccionarManual(Boolean seleccionarManual) {
		this.seleccionarManual = seleccionarManual;
	}
	
	public InvIngresoItem() {
	}

	public InvIngresoItem(long detalleIngreso) {
		this.detalleIngreso = detalleIngreso;
	}
	public InvIngresoItem(long detalleIngreso, InvIngreso invIngreso,
			InvItemStock invItemStock, Long undCodigo, BigDecimal iniCantidad,
			BigDecimal iniCostoU, String iniNombre, BigDecimal iniCostoT,
			BigDecimal iniIva, BigDecimal iniDescuento,
			BigDecimal iniCostoTotal, Integer subdepCodigo, Integer depCodigo) {
		this.detalleIngreso = detalleIngreso;
		this.invIngreso = invIngreso;
		this.invItemStock = invItemStock;
		this.undCodigo = undCodigo;
		this.iniCantidad = iniCantidad;
		this.iniCostoU = iniCostoU;
		this.iniNombre = iniNombre;
		this.iniCostoT = iniCostoT;
		this.iniIva = iniIva;
		this.iniDescuento = iniDescuento;
		this.iniCostoTotal = iniCostoTotal;
		this.subdepCodigo = subdepCodigo;
		this.depCodigo = depCodigo;
	}

	@Id
	@Column(name = "detalle_ingreso", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	@GeneratedValue(strategy=GenerationType.AUTO)
	public long getDetalleIngreso() {
		return this.detalleIngreso;
	}

	public void setDetalleIngreso(long detalleIngreso) {
		this.detalleIngreso = detalleIngreso;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ing_codigo")
	public InvIngreso getInvIngreso() {
		return this.invIngreso;
	}

	public void setInvIngreso(InvIngreso invIngreso) {
		this.invIngreso = invIngreso;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "item_secuenca")
	public InvItemStock getInvItemStock() {
		return this.invItemStock;
	}

	public void setInvItemStock(InvItemStock invItemStock) {
		this.invItemStock = invItemStock;
	}

	@Column(name = "und_codigo", precision = 10, scale = 0)
	public Long getUndCodigo() {
		return this.undCodigo;
	}

	public void setUndCodigo(Long undCodigo) {
		this.undCodigo = undCodigo;
	}

	@Column(name = "ini_cantidad", precision = 14, scale = 4)
	public BigDecimal getIniCantidad() {
		return this.iniCantidad;
	}

	public void setIniCantidad(BigDecimal iniCantidad) {
		this.iniCantidad = iniCantidad;
	}

	@Column(name = "ini_costo_u", precision = 13, scale = 4)
	public BigDecimal getIniCostoU() {
		return this.iniCostoU;
	}

	public void setIniCostoU(BigDecimal iniCostoU) {
		this.iniCostoU = iniCostoU;
	}

	@Column(name = "ini_nombre", length = 50)
	@Length(max = 50)
	public String getIniNombre() {
		return this.iniNombre;
	}

	public void setIniNombre(String iniNombre) {
		this.iniNombre = iniNombre;
	}

	@Column(name = "ini_costo_t", precision = 13, scale = 4)
	public BigDecimal getIniCostoT() {
		return this.iniCostoT;
	}

	public void setIniCostoT(BigDecimal iniCostoT) {
		this.iniCostoT = iniCostoT;
	}

	@Column(name = "ini_iva", precision = 13, scale = 4)
	public BigDecimal getIniIva() {
		return this.iniIva;
	}

	public void setIniIva(BigDecimal iniIva) {
		this.iniIva = iniIva;
	}

	@Column(name = "ini_descuento", precision = 13, scale = 4)
	public BigDecimal getIniDescuento() {
		return this.iniDescuento;
	}

	public void setIniDescuento(BigDecimal iniDescuento) {
		this.iniDescuento = iniDescuento;
	}

	@Column(name = "ini_costo_total", precision = 13, scale = 4)
	public BigDecimal getIniCostoTotal() {
		return this.iniCostoTotal;
	}

	public void setIniCostoTotal(BigDecimal iniCostoTotal) {
		this.iniCostoTotal = iniCostoTotal;
	}

	@Column(name = "subdep_codigo", precision = 5, scale = 0)
	public Integer getSubdepCodigo() {
		return this.subdepCodigo;
	}

	public void setSubdepCodigo(Integer subdepCodigo) {
		this.subdepCodigo = subdepCodigo;
	}

	@Column(name = "dep_codigo", precision = 5, scale = 0)
	public Integer getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(Integer depCodigo) {
		this.depCodigo = depCodigo;
	}

}
